<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>



        /* 
        函数：
            函数是封装了一段可以重复执行的代码，对外暴露一个函数名，隐藏函数内部细节
         用function 关键字
         使用时调用函数名 调用一次执行一次 不调用 不执行

         先声明 再使用  和变量一样
         函数是某个动作 函数名用动词 小驼峰命名
         函数 方法 API 接口 同一个事物 不同的名字
         执行顺序：
             function 函数体（）{
                函数体；
             }
        调用：
             函数名（）；

        */

        
        /*
            构造函数：  6. 配合关键字 new 使用
                1. 作用，创建对象。
                2. 返回值是一个对象，默认省略
                3. 封装的代码是，给对象多态的添加属性和方法
                4. this 是当前对象
                5. 函数名用大驼峰
              
                7. 构造函数和类是一码事
                8. 就是对象公共属性和方法的抽取。
                9. 属性名和形参尽量保持一致，可读性强。

            约定大于规范，规范大于编码    
        */


        let age = 20;
        function buy() {
            if (age > 18) {
                console.log('给你要的啤酒');
            } else {
                console.log('请喝可乐');
            }
        }
        buy();
        buy();
    </script>
</body>

</html>